FROM maven:3.8.6-openjdk-8 AS builder
# 设置工作目录
WORKDIR /app

# 创建Maven配置目录并添加自定义仓库配置
RUN mkdir -p /root/.m2
COPY settings.xml /root/.m2/settings.xml

# 复制pom.xml并下载依赖（利用Docker缓存机制）
COPY pom.xml .
RUN mvn dependency:go-offline -B

# 复制源代码
COPY src ./src

# 执行打包命令（跳过测试以加快构建速度）
RUN mvn package -DskipTests

# 第二阶段：运行阶段
FROM openjdk:8-jdk-slim

ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 设置工作目录
WORKDIR /app

# 从构建阶段复制打包好的jar文件
COPY --from=builder /app/target/*.jar app.jar

# 暴露应用端口
EXPOSE 8888

# 启动命令
ENTRYPOINT ["java","-jar","-Xms128M","-Xmx512M","-Dspring.profiles.active=prod","app.jar"]

